using EOSDigital.SDK;
using System.Collections.Generic;

namespace EOSDigital.API
{
	public sealed class AfModeValues : ValueBase
	{
		private static List<CameraValue> values;

		public static CameraValue[] Values
		{
			get
			{
				return AfModeValues.values.ToArray();
			}
		}

		static AfModeValues()
		{
			AfModeValues.values = new List<CameraValue>
			{
				new CameraValue("One-Shot AF", 0, 0.0, PropertyID.AFMode),
				new CameraValue("AI Servo AF", 1, 0.0, PropertyID.AFMode),
				new CameraValue("AI Focus AF", 2, 0.0, PropertyID.AFMode),
				new CameraValue("Manual Focus", 3, 0.0, PropertyID.AFMode)
			};
		}

		public static CameraValue GetValue(int value)
		{
			return ValueBase.GetValue(value, AfModeValues.values);
		}

		public static CameraValue GetValue(string value)
		{
			return ValueBase.GetValue(value, AfModeValues.values);
		}

		public static CameraValue GetValue(double value)
		{
			return ValueBase.GetValue(value, AfModeValues.values);
		}
	}
}
